#include <iostream>
#include <string>

using namespace std;

template <class T>

class base {
	public:
		T m_Age;
};

class son1: public base<int> {

};

class son2: public base<string> {

};

template <class T1, class T2>

class son3: public base<T1> {
	public:
		T2 m_Name;

};

void test1() {
	son1 s1;
	s1.m_Age = 10;
	cout << s1.m_Age << endl;
}

void test2() {
	son2 s2;
	s2.m_Age = "123";
	cout << s2.m_Age << endl;
}

void test3() {
	son3<int, string> s3;
	s3.m_Age = 10;
	cout << s3.m_Age << endl;
}

int main() {
	test1();

	test2();

	test3();
	return 0;
}